from qiniu import Auth, put_data


# 填写Access Key和 Secret Key
access_key = 'v3n5FPnRvLujRroKe3X9FxjMSgtWCmMWBeharusu'
secret_key = 'd3uJUlaQ9iKh0b5XkhU-Tlx5hjrDiWDDeHA4xotw'

def image_storage(image_data):
    """
    功能：管理用户图片
    :param image_data:
    :return:
    """
    # 1.构建鉴权对象,设置要上传的空间
    q = Auth(access_key, secret_key)
    bucket_name = 'info36'

    # 2.上传到七牛后保存的文件名，若不指定，七牛会自动管理
    key = None

    # 3.生成上传Token， 可以指定过期时间(秒)等信息
    token = q.upload_token(bucket_name, key, 3600)

    # 4.指定要上传文件的本地路劲
    ret, info = put_data(token, key, image_data)

    # 5.处理上传图片的结果，上传成功则返回图片的名字，否则返回None
    if info.status_code == 200:
        return ret.get('key')
    else:
        return None

# 测试图片上传功能
if __name__ == '__main__':
    with open(r'C:\Users\Yao\Desktop\Ihome\实战资料\静态文件(已写好逻辑)\static\images\timg (1).jpg', 'rb') as f:
        image_url3 = image_storage(f.read())
    print(image_url3)
    print('上传成功')
